Everything Totally Explained


Ask & we'll explain, totally!
Nondeterministic finite state machine
Totally Explained


  NEW! All the latest news in the worlds of computer gaming, entertainment, the environment,  
finance, health, politics, science, stocks & shares, technology and much, much, more.  


View this entry using RSS

Everything about Nondeterministic Finite State Machine totally explained

In the theory of computation, a nondeterministic finite state machine or nondeterministic finite automaton (NFA) is a finite state machine where for each pair of state and input symbol there may be several possible next states. This distinguishes it from the deterministic finite automaton (DFA), where the next possible state is uniquely determined. Although the DFA and NFA have distinct definitions, it may be shown in the formal theory that they're equivalent, in that, for any given NFA, one may construct an equivalent DFA, and vice-versa: this is the powerset construction. Both types of automata recognize only regular languages. Non-deterministic finite state machines are sometimes studied by the name subshifts of finite type. Non-deterministic finite state machines are generalized by probabilistic automata, which assign a probability to each state transition. Nondeterministic finite automata were introduced by Michael O. Rabin and Dana Scott in 1959, who showed their equivalence to deterministic automata.

Intuitive introduction

An NFA, just as a DFA, consumes a string of input symbols. For each input symbol it transforms to a new state until all input symbols have been consumed.
   Unlike a DFA, it's non-deterministic in that, for any input symbol, its next state isn't uniquely determined, but may be any one of several possible states. Thus, in the formal definition, it's common to talk of a subset of the power set of states: the transition isn't so much to a single state, but to some subset of all possible states, considered at once.
   An extension of the NFA is the NFA-lambda (also known as NFA-epsilon or the NFA with epsilon moves), which allows a transform to a new state without consuming any input symbols. For example, if it's in state 1, with the next input symbol an a, it can move to state 2 without consuming any input symbols, and thus there's an ambiguity: is the system in state 1, or state 2, before consuming the letter a? Because of this ambiguity, it's more convenient to talk of the set of possible states the system may be in. Thus, before consuming letter a, the NFA-epsilon may be in any one of the states out of the set .
   The language of M can be described by the regular language given by this regular expression: » (1^*(01^*01^*)^*) cup (0^*(10^*10^*)^*)

Application of NFA-ε

NFAs and DFAs are equivalent in that if a language is recognized by an NFA, it's also recognized by a DFA and vice versa. The establishment of such equivalence is important and useful. It is useful because constructing an NFA to recognize a given language is sometimes much easier than constructing a DFA for that language. It is important because NFA's can be used to reduce the complexity of the mathematical work required to establish many important properties in the theory of computation. For example, it's much easier to prove the following properties using NFAs than DFAs:
(i) The union of two regular languages is regular. (See formal proof. )
   (ii) The concatenation of two regular languages is regular. (See formal proof. )
   (iii) The Kleene Closure of a regular language is regular. (See formal proof. )

Further Information

Get more info on 'Nondeterministic Finite State Machine'.


External Link Exchanges

Do you know how hard it is to get a link from a large encyclopaedia? Well we're different and will prove it. To get a link from us just add the following HTML to your site on a relevant page:

    <a href="http://nondeterministic_finite_state_machine.totallyexplained.com">Nondeterministic finite state machine Totally Explained</a>

Then simply click through this link from your web page. Our crawlers will verify your link, extract the title of your web page and instantly add a link back to it. If you like you can remove the words Totally Explained and embed the link in article text.
   As long as your link remains in place, we'll keep our link to you right here. Please play fair - our crawlers are watching. Your site must be closely related to this one's topic. Any kind of spamming, dubious practises or removing the link will result in your link from us being dropped and, potentially, your whole site being banned.



Copyright © 2007-8 totallyexplained.com | Licensed under the GNU Free Documentation License | Site Map
This article contains text from the Wikipedia article Nondeterministic finite state machine (History) and is released under the GFDL | RSS Version